package com.cug.campus_sh_market_server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cug.campus_sh_market_server.entity.param.OrderParam;
import com.cug.campus_sh_market_server.entity.param.PageParam;
import com.cug.campus_sh_market_server.entity.param.college.CollegeAddParam;
import com.cug.campus_sh_market_server.entity.param.college.CollegePutParam;
import com.cug.campus_sh_market_server.entity.param.college.CollegeQueryParam;
import com.cug.campus_sh_market_server.entity.param.goods.GoodsAddParam;
import com.cug.campus_sh_market_server.entity.param.goods.GoodsPutParam;
import com.cug.campus_sh_market_server.entity.param.goods.GoodsQueryParam;
import com.cug.campus_sh_market_server.entity.param.goods.GoodsStatusUpdateParam;
import com.cug.campus_sh_market_server.entity.po.College;
import com.cug.campus_sh_market_server.entity.po.Goods;
import com.cug.campus_sh_market_server.entity.vo.college.CollegeVO;
import com.cug.campus_sh_market_server.entity.vo.goods.GoodsAdminVO;
import com.cug.campus_sh_market_server.entity.vo.goods.GoodsVO;
import com.nycreativity.elecreativity.entity.vo.PageDataVO;

/**
 * <p>
 * 商品 服务类
 * </p>
 *
 * @author sxt
 * @since 2022-03-22
 */
public interface GoodsService extends IRestfullService<Goods, GoodsQueryParam, GoodsAddParam, GoodsPutParam, GoodsVO> {

    /**
     * 分页查询所有商品数据
     * 后台管理用
     *
     * @param goodsQueryParam 查询条件
     * @param pageParam       分页信息
     * @param orderParam      排序信息
     * @return 分页的所有商品数据
     */
    PageDataVO<GoodsAdminVO> queryAdminGoodsByPage(GoodsQueryParam goodsQueryParam, PageParam pageParam, OrderParam orderParam);

    /**
     * 修改商品上架状态
     *
     * @param goodsStatusUpdateParam 修改状态入参
     * @return 修改是否成功
     */
    boolean changeGoodsStatus(GoodsStatusUpdateParam goodsStatusUpdateParam);
}
